//package com.megvii.koala.tv.video;
//
//import android.content.Context;
//import android.view.SurfaceView;
//import android.view.Window;
//
//import java.nio.ByteBuffer;
//
//import veg.mediaplayer.sdk.MediaPlayer;
//
///**
// * Created by linyue on 16/3/24.
// */
//public class VideoManagerUltimate implements VideoManagerInterface
//{
//    private MediaPlayer mediaPlayer;
//
//    private String url;
//
//    private boolean isLocalFile = false;
//
//    private Context context;
//
//    @Override
//    public boolean init(Window window, SurfaceView surfaceView)
//    {
//        this.context = window.getContext();
//        mediaPlayer = new MediaPlayer(context, false);
//        mediaPlayer.setSurface(surfaceView.getHolder().getSurface(), false);
//        return true;
//    }
//
//    @Override
//    public void release()
//    {
//        mediaPlayer.Close();
//    }
//
//    @Override
//    public void restartPlay()
//    {
//        if (url == null)
//        {
//            return;
//        }
//        if (url.startsWith("/"))
//        {
//            isLocalFile = true;
//        }
//        else
//        {
//            isLocalFile = false;
//        }
//        SharedSettings sett = SharedSettings.getInstance(context);
//        int connectionProtocol = sett.connectionProtocol;
//        int connectionDetectionTime = sett.connectionDetectionTime;
//        int connectionBufferingTime = sett.connectionBufferingTime;
//
//        int decoderType = sett.decoderType;
//        int rendererType = sett.rendererType;
//        int rendererEnableColorVideo = sett.rendererEnableColorVideo;
//        //        int rendererAspectRatioMode = mPanelIsVisible ? 0 : sett.rendererAspectRatioMode;
//        int rendererAspectRatioMode = 0;
//        int synchroEnable = sett.synchroEnable;
//        int synchroNeedDropVideoFrames = sett.synchroNeedDropVideoFrames;
//        mediaPlayer.Open(url, connectionProtocol, connectionDetectionTime, connectionBufferingTime,
//                decoderType, rendererType, synchroEnable, synchroNeedDropVideoFrames,
//                rendererEnableColorVideo, rendererAspectRatioMode,
//                isLocalFile ? 1 : mediaPlayer.getConfig().getDataReceiveTimeout(),
//                sett.decoderNumberOfCpuCores, new MediaPlayer.MediaPlayerCallback()
//                {
//                    @Override
//                    public int Status(int i)
//                    {
//                        return 0;
//                    }
//
//                    @Override
//                    public int OnReceiveData(ByteBuffer byteBuffer, int i, long l)
//                    {
//                        return 0;
//                    }
//                });
//    }
//
//    @Override
//    public void play(String url)
//    {
//        this.url = url;
//        restartPlay();
//    }
//
//    @Override
//    public void clearSrc()
//    {
//        this.url = null;
//    }
//
//    @Override
//    public void stop()
//    {
//        mediaPlayer.Stop();
//    }
//
//    @Override
//    public void setSize(int width, int height)
//    {
//
//    }
//
//    @Override
//    public int getVideoCurrentTime()
//    {
//        return 0;
//    }
//
//    @Override
//    public int getVideoDuration()
//    {
//        return 0;
//    }
//
//    @Override
//    public void setListener(VideoManagerListener listener)
//    {
//
//    }
//}
